<?php
class EntradaController extends Zend_Controller_Action {
	public function init(){
		$this->initView();
		$this->view->title = 'Entrada/Estoque de Medicamentos';
		$this->view->baseUrl = $this->_request->getBaseUrl();
		$menu = '<ul>
				<li class="slogan"></li>
				<li><a href="'.$this->view->baseUrl.'/user" accesskey="p">Users</li>
				<li><a href="'.$this->view->baseUrl.'/paciente" accesskey="p">Paciente</a></li>
				<li><a href="'.$this->view->baseUrl.'/medicamento" accesskey="p">Medicamentos</a></li>
				<li><a href="'.$this->view->baseUrl.'/os" accesskey="o">OS</a></li>
				<li><a href="'.$this->view->baseUrl.'/carrinho" accesskey="m">Carrinho</a></li>
				<li class="active">Entradas/Estoque</li>
				</ul>';
		$this->view->menu = $menu;
		Zend_Loader::loadClass('Entrada');  // Carrega o model
		Zend_Loader::loadClass('Medicamento');  // Carrega o model
		$this->view->entradas = Zend_Auth::getInstance()->getIdentity();
	}
	public function indexAction(){
		$medicamentos = new Medicamento();
		$this->view->medicamentos = $medicamentos->fetchAll($medicamentos->select()->order("id"));
		$this->render();
	}
	public function adicionarAction(){
		if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
			Zend_Loader::loadClass('Zend_Filter_StripTags');
			$filter = new Zend_Filter_StripTags();
			$entradas = new Entrada();
			$idNew = $entradas->getNextId();
			$idEntrada = $filter->filter($this->_request->getPost('idEntrada'));
			$idMedicamento = $filter->filter($this->_request->getPost('idMedicamento'));
			$idUsuario = $filter->filter($this->_request->getPost('idUsuario'));
			$descricao = $filter->filter($this->_request->getPost('descricao'));
			$quantidade = $filter->filter($this->_request->getPost('quantidade'));
			if ($idEntrada != '' && $idMedicamento != '' && $idUsuario != '' && $quantidade > 0) {
				$data = array(
					'id' => $idNew,
					'quantidade' => $quantidade,
					'data'=>date('m/d/Y'),
					'id_medicamento' => $idMedicamento,
					'id_usuario' => $idUsuario
				);
				$entradas->insert($data);
				
				$medicamento = new Medicamento();
				$quantidadeMedicamento = $medicamento->getQuantidade($idMedicamento) + $quantidade;
				$medicamento->update(array('quantidade'=>$quantidadeMedicamento),'id = '.$idMedicamento);

				$this->_redirect('/entrada');
				return;
			}
		}elseif(strtolower($_SERVER['REQUEST_METHOD']) == 'get'){
			Zend_Loader::loadClass('Zend_Filter_StripTags');
			$filter = new Zend_Filter_StripTags();
			$idMedicamento = $filter->filter($this->_request->getParam('id'));
			$medicamentos = new Medicamento();
			$this->view->medicamentos = $medicamentos->fetchAll($medicamentos->select()->where('id = '.$idMedicamento))->toArray();
			$idNew = $medicamentos->getNextId();
			$this->view->id = $idNew;
			$this->view->user = Zend_Auth::getInstance()->getIdentity();
		}
		
		$this->view->action = 'adicionar';
		$this->view->buttonText = 'add';
		$this->render();
	}
	public function buscarAction(){
		$this->view->title = "Busca de Medicamentos";
		$obj = new Medicamento();
		if ($this->_request->isPost()) {
			Zend_Loader::loadClass('Zend_Filter_StripTags');
			$filter = new Zend_Filter_StripTags();
			$search = $filter->filter($this->_request->getPost('search'));
			$data = array('search' => $search);
			$order = 'descricao';
			$this->view->medicamentos = $obj->fetchAll('upper(descricao) like upper(\'%'.$search.'%\')', $order);
		}
	}
}
?>